using System;

namespace Cirrostrata.Abstractions.Net
{
    public interface IHostContext
    {

        Uri BaseUri { get; }
        string BasePath { get; }

        string AbsolutePathToAbsoluteUrl(string absolutePath);
        string AbsolutePathToRootRelativeUrl(string absolutePath);
        string AbsoluteUrlToRootRelativeUrl(string absoluteUrl);
        string RelativeUrlToRootRelativeUrl(string absoluteOriginatingPath, string relativeUrl);
        string RootRelativePathToAbsolutePath(string relativePath);
        string RootRelativeUrlToAbsoluteUrl(string relativeUrl);
        string RootRelativeUrlToRootRelativePath(string relativeUrl);
        string RootRelativePathToRootRelativeUrl(string relativePath);
        string RootRelativeUrlToAbsolutePath(string relativeUrl);
    }
}